local ops = require("mongodbOps") --加载mongodb操作模块
local action = ops.rawAction()  --当前mysql数据库事件,包括：insert、update、delete

--print("action",action)
if action == "insert" or action == "update" then -- 新增事件  -- 修改事件
	local row = ops.rawRow()  --当前mysql数据库的一行数据,table类型
	local result = {}  -- 定义一个table
	
	-- row中字段名大小写跟数据库一致,用脚本时配置大小写无效
	local field = row["p_key"]
	local value = row["p_value"]
	local id = row["uuid"] --获取ID列的值
	
	--print("data_id",row["data_id"])

	local function isnotempty(s)
	  return not (s == nil or s == '')
	end
	
	local function isvalid(s)
		return string.find(s, "^[0-9a-zA-Z_-]+$")
	end
	
	if isnotempty(id) and isvalid(field) and isnotempty(value) then
		result["_id"] = id -- _id为MongoDB的主键标识
		result[field] = value
		result["collect_date"] = row["collect_date"]
		result["create_time"] = row["create_time"]
		result["project_id"] = tostring(row["project_id"])
		result["structure_id"] = tostring(row["structure_id"])
		result["kind"] = tostring(row["kind"])
		result["latest_act_time"] = os.date("%Y-%m-%d %H:%M:%S")
		
		--print(id, field,value)

		ops.UPSERT("d_data",id,result) -- 新增或修改，第一个参数为collection名称，string类型；第二个参数为ID；第三个参数为要修改的数据，talbe类型
	
	end
end 